home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Atari Mega Archive 1
/
Atari Mega Archive - Volume 1.iso
/
language
/
sozobon2.zoo
/
hcc
/
gen.h
< prev
next >
Wrap
C/C++ Source or Header
|
1990-12-14
|
1KB
|
59 lines
/* Copyright (c) 1988 by Sozobon, Limited. Author: Johann Ruegg
*
* Permission is granted to anyone to use this software for any purpose
* on any computer system, and to redistribute it freely, with the
* following restrictions:
* 1) No charge may be made other than reasonable charges for reproduction.
* 2) Modified versions must be clearly marked as such.
* 3) The authors are not responsible for any harmful consequences
* of using this software, even if they result from defects in it.
*
* gen.h
*/
#include "cookie.h"
/* parameters for case */
#define C_SIMPLE 8 /* use simple if n <= this */
#define C_RATIO 3 /* use table if max-min/n <= this */
/* branch types */
/* designed so that pairs (i,i+1) with odd i represent opposites */
#define B_EQ 1
#define B_NE 2
#define B_LT 3
#define B_GE 4
#define B_LE 5
#define B_GT 6
#define B_YES 7
#define B_NO 8
#define B_ULT 9
#define B_UGE 10
#define B_ULE 11
#define B_UGT 12
/* derived nodes */
/* re-use stmt keywords for now */
#ifndef ENUMS
#define ONAME 'a'
#define OREG 'b'
#define REGVAR 'c'
#define PUSHER 'd'
#define CMPBR 'e'
#define FIELDAS 'f'
#else
enum {
ONAME = 'a', OREG, REGVAR, PUSHER, CMPBR, FIELDAS
};
#endif
#define BR_TOK 'i'
/* evaluation order values */
#define EV_NONE 0
#define EV_LEFT 1
#define EV_RIGHT 2
#define EV_LR 3
#define EV_RL 4
#define EV_LRSEP 5 /* left then right, but seperate */